package top.infopub.mgr.bpa.service;


import java.util.List;

import com.github.pagehelper.Page;

import top.infopub.mgr.bpa.domain.InnerSettleDomain;
import top.infopub.mgr.bpa.vo.InnerSettleVo;
import top.infopub.model.bpa.InnerSettle;
import top.infopub.model.bpa.InnerSettleAtt;
import top.infopub.model.bpa.InnerSettleDetail;
import top.infopub.model.bpa.InnerSettleList;
import top.infopub.model.bpa.InnerSettleSub;
import top.infopub.generic.GenericService;


public interface InnerSettleService extends GenericService<InnerSettle, String> {

    /**
     * 根据条件查询对内结算记录
     * @param InnerSettleVo
     * @return 
     * @see
     */
    Page<InnerSettleDomain> selectByDomainWhere(Page<InnerSettleDomain> page,
                                                InnerSettleVo innerSettleVo);

    /**
     * 根据条件查询对内结算记录--我审批的列表
     * @param InnerSettleVo
     * @return 
     * @see
     */
    Page<InnerSettleDomain> selectMyCheckByDomainWhere(Page<InnerSettleDomain> page,
                                                       InnerSettleVo innerSettleVo);

    /**
     * 执行-新增
     */
    void saveInnerSettle(InnerSettle innerSettle, List<InnerSettleList> innerSettleLists,
                         List<InnerSettleSub> innerSettleSubs,
                         List<InnerSettleDetail> innerSettleDetails,
                         List<InnerSettleAtt> innerSettleAtts);
    
    /**
     * 详情页面
     */
    InnerSettleVo queryById(String id);

}